package com.zzx.service.imp;

import com.zzx.bean.Courier;
import com.zzx.dao.imql.CourierDaoImp;
import com.zzx.exception.DuplicateIdentityException;
import com.zzx.service.BaseCourierService;

import java.util.List;
import java.util.Map;

/**
 * @Author: Spider Man
 * @Description:
 * @Date Created in 2020-09-15 15:52
 * @Modified By:
 */
public class CourierService implements BaseCourierService {

    CourierDaoImp courierDaoImp = new CourierDaoImp();

    /**
     * 用于显示用户人数和用户日注册量
     *
     * @return {size:总数，day:日增加量}
     */
    @Override
    public  List<Map<String, Integer>> console() {
        return courierDaoImp.console();
    }

    /**
     * 用于查询所有快递员的信息
     *
     * @param limit      是否分页的标记，true表示要分页，false表示不用分页
     * @param offset     SQL语句的起始索引
     * @param pageNumber 页查询的数量
     * @return 快递对象员的集合
     */
    @Override
    public List<Courier> findAllCourierInfo(boolean limit, int offset, int pageNumber) {
        return courierDaoImp.findAllCourierInfo(limit,offset,pageNumber);
    }

    /**
     * 根据手机号查找快递员
     *
     * @param cPhone 要查找的快递员的手机号
     * @return 快递员的信息
     */
    @Override
    public Courier findCourierByCPhone(String cPhone) {
        return courierDaoImp.findCourierByCPhone(cPhone);
    }

    /**
     * 插入快递员信息
     *
     * @param courier 插入快递员信息
     * @return true表示成功, false表示失败
     */
    @Override
    public boolean insert(Courier courier) {
        try {
            return courierDaoImp.insert(courier);
        } catch (DuplicateIdentityException e) {
            return false;
        }
    }

    /**
     * 快递员的修改
     *
     * @param cid     快递员的ID
     * @param courier 新的快递员对象
     * @return ture表示更新成功，false表示更新失败
     */
    @Override
    public boolean update(int cid, Courier courier) {
        return courierDaoImp.update(cid,courier);
    }

    /**
     * 根据ID删除快递员信息
     *
     * @param cid 要删除的快递ID
     * @return true表示成功，false表示删除失败
     */
    @Override
    public boolean delete(int cid) {
        return courierDaoImp.delete(cid);
    }
}
